<html>
	<head>
		<meta charset="utf-8"/>
		<title>BShape</title>
		<link rel="stylesheet" type="text/css" href="../style.css"/>
	</head>
	<body>
		<h1>BShape</h1>
		<p>Inherites from <a href="BObject.html">BObject</a></p>
		<h2>public</h2>
		<table id="public">
			<tr><td align="right"/><td><a href="#BShape()">BShape</a>();</td></tr>
			<tr><td align="right"/><td><a href="#~BShape()">~BShape</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#setVisible(bool)">setVisible</a>(bool visible);</td></tr>
			<tr><td align="right">bool </td><td><a href="#visible()">visible</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setCollible(bool)">setCollible</a>(bool collible);</td></tr>
			<tr><td align="right">bool </td><td><a href="#collible()">collible</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#move(const BVector&)">move</a>(const BVector& position);</td></tr>
			<tr><td align="right">void </td><td><a href="#move(float, float, float)">move</a>(float x, float y, float z);</td></tr>
			<tr><td align="right">void </td><td><a href="#setPosition(const BVector&)">setPosition</a>(const BVector& position);</td></tr>
			<tr><td align="right">void </td><td><a href="#setPosition(float, float, float)">setPosition</a>(float x, float y, float z);</td></tr>
			<tr><td align="right">BVector </td><td><a href="#position()">position</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setRotate(float, float, float)">setRotate</a>(float rx, float ry, float rz);</td></tr>
			<tr><td align="right">void </td><td><a href="#setRotate(const BQuater&)">setRotate</a>(const BQuater& quater);</td></tr>
			<tr><td align="right">BQuater </td><td><a href="#rotate()">rotate</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setScale(const BVector&)">setScale</a>(const BVector& scale);</td></tr>
			<tr><td align="right">void </td><td><a href="#setScale(float, float, float)">setScale</a>(float x, float y, float z);</td></tr>
			<tr><td align="right">BVector </td><td><a href="#scale()">scale</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setMatrix(const BMatrix&)">setMatrix</a>(const BMatrix& matrix);</td></tr>
			<tr><td align="right">const BMatrix& </td><td><a href="#matrix()">matrix</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setColor(BByte, BByte, BByte,BByte)">setColor</a>(BByte r, BByte g, BByte b, BByte a = 255);</td></tr>
			<tr><td align="right">void </td><td><a href="#setColor(const BColor&)">setColor</a>(const BColor& color);</td></tr>
			<tr><td align="right">const BColor& </td><td><a href="#color()">color</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setMaterial(BMaterial*)">setMaterial</a>(BMaterial* mateial);</td></tr>
			<tr><td align="right">BMaterial* </td><td><a href="#material()">material</a>() const;</td></tr>
			<tr><td align="right">bool </td><td><a href="#setTexture(BTexture*,int)">setTexture</a>(BTexture* texture, int unit = 0);</td></tr>
			<tr><td align="right">BTexture* </td><td><a href="#texture(int)">texture</a>(int unit = 0) const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setProgram(BProgram*)">setProgram</a>(BProgram* program);</td></tr>
			<tr><td align="right">BProgram* </td><td><a href="#program()">program</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setLighting(bool)">setLighting</a>(bool lighting);</td></tr>
			<tr><td align="right">bool </td><td><a href="#lighting()">lighting</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setDepthTest(bool)">setDepthTest</a>(bool depthTest);</td></tr>
			<tr><td align="right">bool </td><td><a href="#depthTest()">depthTest</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setCullBack(bool)">setCullBack</a>(bool cullBack);</td></tr>
			<tr><td align="right">bool </td><td><a href="#cullBack()">cullBack</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setNormalize(bool)">setNormalize</a>(bool normalize);</td></tr>
			<tr><td align="right">bool </td><td><a href="#normalize()">normalize</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setPointSmooth(bool)">setPointSmooth</a>(bool pointSmooth);</td></tr>
			<tr><td align="right">bool </td><td><a href="#pointSmooth()">pointSmooth</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setLineSmooth(bool)">setLineSmooth</a>(bool lineSmooth);</td></tr>
			<tr><td align="right">bool </td><td><a href="#lineSmooth()">lineSmooth</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setPolygonSmooth(bool)">setPolygonSmooth</a>(bool polygonSmooth);</td></tr>
			<tr><td align="right">bool </td><td><a href="#polygonSmooth()">polygonSmooth</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setLineWidth(int)">setLineWidth</a>(int lineWidth);</td></tr>
			<tr><td align="right">int </td><td><a href="#lineWidth()">lineWidth</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setPointSize(int)">setPointSize</a>(int pointSize);</td></tr>
			<tr><td align="right">int </td><td><a href="#pointSize()">pointSize</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setTransparent(bool)">setTransparent</a>(bool transparent);</td></tr>
			<tr><td align="right">bool </td><td><a href="#transparent()">transparent</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setPolygonMode(PolygonMode)">setPolygonMode</a>(PolygonMode polygonMode);</td></tr>
			<tr><td align="right">PolygonMode </td><td><a href="#polygonMode()">polygonMode</a>() const;</td></tr>
			<tr><td align="right">const BBox& </td><td><a href="#box()">box</a>() const;</td></tr>
			<tr><td align="right">const BSpace& </td><td><a href="#space()">space</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#dirty()">dirty</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#flush()">flush</a>();</td></tr>
		</table>
		<h2>protected</h2>
		<table id="protected">
			<tr><td align="right">virtual BBox </td><td><a href="#refresh()">refresh</a>();</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#render(BRender&)">render</a>(BRender& render);</td></tr>
		</table>
		<div id="desc">
			<h2>Detailed Description : </h2>
			<p>BShape is base class of BMesh and BGeometry and other shape, it is visual object of scene.</p>
		</div>
		<h2 id="docs">Member Function Documentation</h2>
		<div id="BShape()">
			<h3>BShape();</h3>
		</div>
		<div id="~BShape()">
			<h3>~BShape();</h3>
		</div>
		<div id="setVisible(bool)">
			<h3>void setVisible(bool visible);</h3>
			<p>Set visible state of shape.</p>
		</div>
		<div id="visible()">
			<h3>bool visible() const;</h3>
		</div>
		<div id="setCollible(bool)">
			<h3>void setCollible(bool collible);</h3>
			<p>Set collible state of shape, if collible is true, the physics engine will do colliding of this shape.</p>
		</div>
		<div id="collible()">
			<h3>bool collible() const;</h3>
		</div>
		<div id="move(const BVector&)">
			<h3>void move(const BVector& position);</h3>
		</div>
		<div id="move(float, float, float)">
			<h3>void move(float x, float y, float z);</h3>
		</div>
		<div id="setPosition(const BVector&)">
			<h3>void setPosition(const BVector& position);</h3>
		</div>
		<div id="setPosition(float, float, float)">
			<h3>void setPosition(float x, float y, float z);</h3>
		</div>
		<div id="position()">
			<h3>BVector position() const;</h3>
		</div>
		<div id="setRotate(float, float, float)">
			<h3>void setRotate(float rx, float ry, float rz);</h3>
		</div>
		<div id="setRotate(const BQuater&)">
			<h3>void setRotate(const BQuater& quater);</h3>
		</div>
		<div id="rotate()">
			<h3>BQuater rotate() const;</h3>
		</div>
		<div id="setScale(const BVector&)">
			<h3>void setScale(const BVector& scale);</h3>
		</div>
		<div id="setScale(float, float, float)">
			<h3>void setScale(float x, float y, float z);</h3>
		</div>
		<div id="scale()">
			<h3>BVector scale() const;</h3>
		</div>
		<div id="setMatrix(const BMatrix&)">
			<h3>void setMatrix(const BMatrix& matrix);</h3>
		</div>
		<div id="matrix()">
			<h3>const BMatrix& matrix() const;</h3>
		</div>
		<div id="setColor(BByte, BByte, BByte,BByte)">
			<h3>void setColor(BByte r, BByte g, BByte b, BByte a = 255);</h3>
		</div>
		<div id="setColor(const BColor&)">
			<h3>void setColor(const BColor& color);</h3>
		</div>
		<div id="color()">
			<h3>const BColor& color() const;</h3>
		</div>
		<div id="setMaterial(BMaterial*)">
			<h3>void setMaterial(BMaterial* mateial);</h3>
		</div>
		<div id="material()">
			<h3>BMaterial* material() const;</h3>
		</div>
		<div id="setTexture(BTexture*,int)">
			<h3>bool setTexture(BTexture* texture, int unit = 0);</h3>
		</div>
		<div id="texture(int)">
			<h3>BTexture* texture(int unit = 0) const;</h3>
		</div>
		<div id="setProgram(BProgram*)">
			<h3>void setProgram(BProgram* program);</h3>
		</div>
		<div id="program()">
			<h3>BProgram* program() const;</h3>
		</div>
		<div id="setLighting(bool)">
			<h3>void setLighting(bool lighting);</h3>
		</div>
		<div id="lighting()">
			<h3>bool lighting() const;</h3>
		</div>
		<div id="setDepthTest(bool)">
			<h3>void setDepthTest(bool depthTest);</h3>
		</div>
		<div id="depthTest()">
			<h3>bool depthTest() const;</h3>
		</div>
		<div id="setCullBack(bool)">
			<h3>void setCullBack(bool cullBack);</h3>
		</div>
		<div id="cullBack()">
			<h3>bool cullBack() const;</h3>
		</div>
		<div id="setNormalize(bool)">
			<h3>void setNormalize(bool normalize);</h3>
		</div>
		<div id="normalize()">
			<h3>bool normalize() const;</h3>
		</div>
		<div id="setPointSmooth(bool)">
			<h3>void setPointSmooth(bool pointSmooth);</h3>
		</div>
		<div id="pointSmooth()">
			<h3>bool pointSmooth() const;</h3>
		</div>
		<div id="setLineSmooth(bool)">
			<h3>void setLineSmooth(bool lineSmooth);</h3>
		</div>
		<div id="lineSmooth()">
			<h3>bool lineSmooth() const;</h3>
		</div>
		<div id="setPolygonSmooth(bool)">
			<h3>void setPolygonSmooth(bool polygonSmooth);</h3>
		</div>
		<div id="polygonSmooth()">
			<h3>bool polygonSmooth() const;</h3>
		</div>
		<div id="setLineWidth(int)">
			<h3>void setLineWidth(int lineWidth);</h3>
		</div>
		<div id="lineWidth()">
			<h3>int lineWidth() const;</h3>
		</div>
		<div id="setPointSize(int)">
			<h3>void setPointSize(int pointSize);</h3>
		</div>
		<div id="pointSize()">
			<h3>int pointSize() const;</h3>
		</div>
		<div id="setTransparent(bool)">
			<h3>void setTransparent(bool transparent);</h3>
		</div>
		<div id="transparent()">
			<h3>bool transparent() const;</h3>
		</div>
		<div id="setPolygonMode(PolygonMode)">
			<h3>void setPolygonMode(PolygonMode polygonMode);</h3>
		</div>
		<div id="polygonMode()">
			<h3>PolygonMode polygonMode() const;</h3>
		</div>
		<div id="box()">
			<h3>const BBox& box() const;</h3>
			<p>Get local box of shape, the local box is not changed by transformed.</p>
		</div>
		<div id="space()">
			<h3>const BSpace& space() const;</h3>
			<p>Get absolute space of shape, it is constructed by local box matrixed.</p>
		</div>
		<div id="dirty()">
			<h3>void dirty();</h3>
			<p>Assigned this shape's box and space is dirty.</p>
		</div>
		<div id="flush()">
			<h3>void flush();</h3>
			<p>Refresh local box of shape, and emit Signal_Flush, dirty state will be false.</p>
		</div>
		<div id="refresh()">
			<h3 id="refresh()">virtual BBox refresh();</h3>
			<p>This virtual method is called for remake this shape.</p>
		</div>
		<div id="render(BRender&)">
			<h3 id="render(BRender&)">virtual void render(BRender& render);</h3>
		</div>
	</body>
</html>